﻿using System;
using System.Collections.Generic;

namespace WindowsGame.Library.ProxyObjects
{
	public class ProxyObject
	{
		public ProxyObject(String name)
			: this(name, "GameObject")
		{
		}
		public ProxyObject(String name, String cast)
		{
			Name = name;
			Cast = cast;
			Components = new List<ProxyComponent>();
		}

		public void AddComponent(ProxyComponent component)
		{
			Components.Add(component);
		}

		public String Name { get; private set; }
		public String Cast { get; private set; }
		public IList<ProxyComponent> Components { get; private set; }
	}

	public class ProxyComponent
	{
		public ProxyComponent(String name)
		{
			this.Name = name;
			Properties = new Dictionary<String, Object>();
		}

		public void AddProperty(String key, Object value)
		{
			Properties.Add(key, value);
		}

		public String Name { get; private set; }
		public IDictionary<String, Object> Properties { get; private set; }
	}
}